package com.zyf.project.binaryproto.type;

/**
 * <h1>基础类型标志</h1>
 *
 * @author Zhou Yifan
 */
public interface BaseType {

    /**
     * 空值
     */
    byte NIL = (byte) 0x00;

    /**
     * 布尔
     */
    byte BOOLEAN = (byte) 0x01;

    /**
     * 整数
     */
    byte INTEGER = (byte) 0x10;

    /**
     * 8位整数
     */
    byte INT8 = (byte) (INTEGER | 0x01);

    /**
     * 16位整数
     */
    byte INT16 = (byte) (INTEGER | 0x02);

    /**
     * 32位整数
     */
    byte INT32 = (byte) (INTEGER | 0x03);

    /**
     * 64位整数
     */
    byte INT64 = (byte) (INTEGER | 0x04);

    /**
     * 文本
     */
    byte TEXT = (byte) 0x20;

    /**
     * 字节序列
     */
    byte BYTES = (byte) 0x40;

    /**
     * 扩展类型，最高位为1，用作保留字段
     */
    byte EXT = (byte) 0x80;
}
